﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace System.Xml
{
	[AttributeUsage(AttributeTargets.Property, Inherited = true, AllowMultiple = false)]
    public sealed class SerialAttribute : Attribute
    {
        public SerialAs SerializeAs { get; set; }

        /// <summary>
        /// Тип элемента
        /// </summary>
        public Type TypeItem { get; set; }

        /// <summary>
        /// Учитывать как ссылку
        /// </summary>
        public bool AsReference { get; set; }

        /// <summary>
        /// Игнорировать значение по-умолчанию
        /// </summary>
        public bool IgnoreDefault { get; set; }

        public SerialAttribute(SerialAs serializeAs)
        {
            IgnoreDefault = false;
            SerializeAs = serializeAs;            
        }

        public SerialAttribute()
            : this(SerialAs.Element)
        {
        }
    }
}
